import { User } from '../../domain/entities/user.entity';

export interface IUserService {
  findById(id: string): Promise<User | null>;
  findByUsername(username: string): Promise<User | null>;
  findByEmail(email: string): Promise<User | null>;
  updateUser(id: string, userData: Partial<User>): Promise<User>;
  setUserStatus(id: string, status: string): Promise<User>;
  assignRole(id: string, role: string): Promise<User>;
  grantPermissions(id: string, permissions: string[]): Promise<User>;
  revokePermissions(id: string, permissions: string[]): Promise<User>;
  deleteUser(id: string): Promise<boolean>;
} 